摘要 :
Changing requirements are a characteristic of all projects today, and the subject of requirements volatility has received attention in both research and industry. The inherent inflexibility of traditional, plan-driven development ...
展开
Changing requirements are a characteristic of all projects today, and the subject of requirements volatility has received attention in both research and industry. The inherent inflexibility of traditional, plan-driven development methods, such as the V-model, in adapting to changes in requirements at various phases of the project has given rise to several agile approaches. In practice, however, globally distributed projects typically combine traditional as well as agile approaches for process rigor and adaptability. In this paper, we discuss the issue of how to manage the causes and mitigate the undesirable effects of requirements volatility in this kind of project set-up. While there is a lot of work on the technical facet of requirements volatility (for example, the development of metrics for its measurement and impact on the existing product modules), its effects on the people involved in the project needs to be given equal weightage. We describe how the technical (project-specific) and non-technical (people-specific) aspects of requirements change were carried through in five globally distributed software-intensive projects that combined the V-model and agile approaches. We discuss how the effects of requirements volatility were smoothed out in the Scrumming-within-the-V-Model paradigm. We then suggest best practices gleaned from these experiences, and throw open some real-world issues that can be taken back to research for further investigation.
收起
摘要 :
The paper outlines a four-year journey of a software engineering team based in Bangalore, India, which transitioned from having the responsibility of different modules to complete engineering responsibility of the range of softwar...
展开
The paper outlines a four-year journey of a software engineering team based in Bangalore, India, which transitioned from having the responsibility of different modules to complete engineering responsibility of the range of software products. The paper also talks about the proactive steps taken to transition to Scaled Agile Framework (SAFe) [1] successfully and discusses the challenges related to people and team culture. The paper also summarizes lessons learned from the journey.
收起
摘要 :
We share the experience of a globally distributed software development organization in addressing the performance issues resulting from the increased complexity caused by rapidly changing market demands. We discuss the challenges ...
展开
We share the experience of a globally distributed software development organization in addressing the performance issues resulting from the increased complexity caused by rapidly changing market demands. We discuss the challenges caused by the complexity within the teams, which were characterized by the emergence of thinking in silos, reduced morale, and accountability for overall project results, and a reduction in trust. We outline our successful approach to restore performance, which centered on fixing the trust deficit. Over time, the team progressed and went on to surpass its previous high-performance levels. Eventually, the software release process became a non-event for the team.
收起
摘要 :
We share the experience of a globally distributed software development organization in transitioning from a plan-driven approach to a lean methodology with a focus on role-specific practices. We outline how the new practices suppo...
展开
We share the experience of a globally distributed software development organization in transitioning from a plan-driven approach to a lean methodology with a focus on role-specific practices. We outline how the new practices supported effective working in a global setup by strengthening trust, increasing communication, fostering openness, and encouraging faster decisions.
收起
摘要 :
We share the experience of a globally distributed software development organization in transitioning from a plan-driven approach to a lean methodology with a focus on role-specific practices. We outline how the new practices suppo...
展开
We share the experience of a globally distributed software development organization in transitioning from a plan-driven approach to a lean methodology with a focus on role-specific practices. We outline how the new practices supported effective working in a global setup by strengthening trust, increasing communication, fostering openness, and encouraging faster decisions.
收起
摘要 :
This practice paper presents how a test team of a software engineering organization spread across three countries successfully optimized the system testing effort for a large mission-critical software system that had to conform to...
展开
This practice paper presents how a test team of a software engineering organization spread across three countries successfully optimized the system testing effort for a large mission-critical software system that had to conform to regulatory requirements. Multiple releases of the system of the system have been delivered to customers over the 15 years it has been in the market. Each new release added new features, which increased both the number of system test cases required and the complexity of the existing system test cases. Hence, a complete cycle of system testing for every new release required more time and effort. However, it was increasingly difficult to justify or arrange for such added efforts, especially since shorter product releases were being demanded. This created a vicious cycle where the team members, though experienced and highly-skilled, were unable to focus on initiatives to improve and optimize testing. To address this issue, we introduced the role of a test analyst to bridge the gap between the test team and other key stakeholders. We were able to optimize the total number of system test cases and increase test execution efficiency while ensuring conformance to mandatory regulations. The practices adapted by the team for faster test environment preparation, assisted automation, along with training and mentoring are described.
收起
摘要 :
This practice paper presents how a test team of a software engineering organization spread across three countries successfully optimized the system testing effort for a large mission-critical software system that had to conform to...
展开
This practice paper presents how a test team of a software engineering organization spread across three countries successfully optimized the system testing effort for a large mission-critical software system that had to conform to regulatory requirements. Multiple releases of the system of the system have been delivered to customers over the 15 years it has been in the market. Each new release added new features, which increased both the number of system test cases required and the complexity of the existing system test cases. Hence, a complete cycle of system testing for every new release required more time and effort. However, it was increasingly difficult to justify or arrange for such added efforts, especially since shorter product releases were being demanded. This created a vicious cycle where the team members, though experienced and highly-skilled, were unable to focus on initiatives to improve and optimize testing. To address this issue, we introduced the role of a test analyst to bridge the gap between the test team and other key stakeholders. We were able to optimize the total number of system test cases and increase test execution efficiency while ensuring conformance to mandatory regulations. The practices adapted by the team for faster test environment preparation, assisted automation, along with training and mentoring are described.
收起
摘要 :
We share our experience in pursuing effective software reuse in a globally distributed software engineering team that uses a lean development methodology. The paper outlines the journey, starting from recognizing the potential for...
展开
We share our experience in pursuing effective software reuse in a globally distributed software engineering team that uses a lean development methodology. The paper outlines the journey, starting from recognizing the potential for reuse, the steps taken to enable systematic reuse in lean projects, the challenges faced, and the corrective actions taken to ensure effectiveness of systematic reuse. The main lessons learned include: (i) identification of relevant domains for reuse, (ii) explicitly assigning responsibilities for reuse component development, (iii) providing enabling infrastructure, (iv) defining more rigorous software development processes for reuse components, and (v) establishing a centralized team for developing reuse components. The results of our successful reuse initiative including the significant increase in quality and a 12 percent reuse of total code developed have been presented.
收起
摘要 :
We share our experience in pursuing effective software reuse in a globally distributed software engineering team that uses a lean development methodology. The paper outlines the journey, starting from recognizing the potential for...
展开
We share our experience in pursuing effective software reuse in a globally distributed software engineering team that uses a lean development methodology. The paper outlines the journey, starting from recognizing the potential for reuse, the steps taken to enable systematic reuse in lean projects, the challenges faced, and the corrective actions taken to ensure effectiveness of systematic reuse. The main lessons learned include: (i) identification of relevant domains for reuse, (ii) explicitly assigning responsibilities for reuse component development, (iii) providing enabling infrastructure, (iv) defining more rigorous software development processes for reuse components, and (v) establishing a centralized team for developing reuse components. The results of our successful reuse initiative including the significant increase in quality and a 12 percent reuse of total code developed have been presented.
收起
摘要 :
We introduced Product Line Engineering (PLE) with the objectives of 1) achieving shorter release cycles, 2) improving product quality, and 3) increasing cost-effectiveness. This paper shares our experiences in adopting PLE, descri...
展开
We introduced Product Line Engineering (PLE) with the objectives of 1) achieving shorter release cycles, 2) improving product quality, and 3) increasing cost-effectiveness. This paper shares our experiences in adopting PLE, describing the challenges faced in fulfilling these objectives. It also outlines the approaches that were used to overcome the architectural constraints, foster a culture of reuse, and enhance test automation. The resulting changes in team dynamics of globally distributed teams are also mentioned. We present the results and the extent to which the objectives were met. Finally, few challenges still faced by teams to move to shorter release cycle are highlighted.
收起